home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 3 / QRZ Ham Radio Callsign Database - Volume 3.iso / digests / tcp / 930080.txt < prev    next >
Internet Message Format  |  1994-06-04  |  35KB

  1. Date: Sun, 28 Mar 93 04:30:11 PST
  2. From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu>
  3. Errors-To: TCP-Group-Errors@UCSD.Edu
  4. Reply-To: TCP-Group@UCSD.Edu
  5. Precedence: Bulk
  6. Subject: TCP-Group Digest V93 #80
  7. To: tcp-group-digest
  8.  
  9.  
  10. TCP-Group Digest            Sun, 28 Mar 93       Volume 93 : Issue   80
  11.  
  12. Today's Topics:
  13.                     Ftpmotd in jnos v108d (2 msgs)
  14.                          G8BPQ with IP Router
  15.                     KA9Q NOS questions... (2 msgs)
  16.                   TCP-Group Digest V93 #79 (2 msgs)
  17.  
  18. Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>.
  19. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>.
  20. Problems you can't solve otherwise to brian@ucsd.edu.
  21.  
  22. Archives of past issues of the TCP-Group Digest are available
  23. (by FTP only) from UCSD.Edu in directory "mailarchives".
  24.  
  25. We trust that readers are intelligent enough to realize that all text
  26. herein consists of personal comments and does not represent the official
  27. policies or positions of any party.  Your mileage may vary.  So there.
  28. ----------------------------------------------------------------------
  29.  
  30. Date: Sat, 27 Mar 93 17:43:49 EST
  31. From: Steve Urich <beyonet!steve@gvls1.VFL.Paramax.COM>
  32. Subject: Ftpmotd in jnos v108d
  33. To: TCP-Group@ucsd.edu
  34.  
  35.  Hello, for those of you who are interested I have changed the
  36.  ftpmotd in jnos ftpserv to conform to internet standards. I
  37.  have put the motd in my version of net and also in a version
  38.  of pa0gri. It works with most of the original ka9q ftpcli 
  39.  including net and most nos except the jnos client with has
  40.  a verbose default problem that somebody changed. I sent my
  41.  changes to Johan and explained the problem. Its due to the
  42.  client remaining quiet till a remote command is ordered
  43.  giving it a V_NORMAL verbose. Then the ftpmotd gets shown
  44.  when a data port is able to be read verbose. It works normal
  45.  with net and other versions of nos clients showing the motd
  46.  at 230 AFTER the login as it should be. I mainly changed the
  47.  motd routine and added it also to my server because of the
  48.  way it was sent out at 220 breaking my ka9q net client. Since
  49.  I don't have a dos box to compile jnos I can't fix the jnos
  50.  client myself without some debugging since the initial test
  51.  with wa3dsp Doug has proven to be ok with my client by a
  52.  slight difference in the jnos client because of its verbose.
  53.  Since I can't debug and compile jnos because I don't have
  54.  a dos box I had wa3dsp compile it for me. It worked ok for
  55.  me but the jnos client was coded differently then the vanilla
  56.  client code. It looks easy enough to debug if I had a dos
  57.  machine an compiler. Here are the diffs to the change from
  58.  220 to 230 for the motd.
  59.  
  60.  73 - Steve
  61.  
  62. ----Start `diff -c' ftpserv.c v1.08d----
  63. *** ftpserv.old Wed Mar 24 18:20:45 1993
  64. --- ftpserv.new Fri Mar 26 01:26:59 1993
  65. ***************
  66. *** 55,62
  67.   };
  68.   
  69.   /* Response messages */
  70. ! static char banner[] = "220- %s, KA9Q-NOS FTP version %s\n";
  71. ! static char banner1[] = "220  Ready on %s";
  72.   static char badcmd[] = "500 Unknown command\n";
  73.   static char binwarn[] = "100 Warning: type is ASCII and %s appears to be binary\n";
  74.   static char unsupp[] = "500 Unsupported command or option\n";
  75.  
  76. --- 55,62 -----
  77.   };
  78.   
  79.   /* Response messages */
  80. ! static char banner[] = "220 %s, KA9Q-NOS FTP version %s\n";
  81. ! static char banner1[] = "230  Ready on %s";
  82.   static char badcmd[] = "500 Unknown command\n";
  83.   static char binwarn[] = "100 Warning: type is ASCII and %s appears to be binary\n";
  84.   static char unsupp[] = "500 Unsupported command or option\n";
  85. ***************
  86. *** 173,179
  87.    long t;
  88.    int cnt,i;
  89.    struct sockaddr_in socket;
  90. -     FILE *fp;
  91.   
  92.    sockmode(s,SOCK_ASCII);
  93.    memset((char *)&ftp,0,sizeof(ftp));     /* Start with clear slate */
  94.  
  95. --- 173,178 -----
  96.    long t;
  97.    int cnt,i;
  98.    struct sockaddr_in socket;
  99.   
  100.    sockmode(s,SOCK_ASCII);
  101.    memset((char *)&ftp,0,sizeof(ftp));     /* Start with clear slate */
  102. ***************
  103. *** 197,209
  104.   
  105.    log(s,"open FTP");
  106.    usprintf(s,banner,Hostname,Version);
  107. -     if((fp = fopen(Ftpmotd,"r")) != NULL) {
  108. -         while(fgets(buf,128,fp)) {
  109. -             rip(buf);
  110. -             usprintf(s,"220- %s\n",buf);
  111. -         }
  112. -         fclose(fp);
  113. -     }
  114.    time(&t);
  115.    cp = ctime(&t);
  116.    
  117.  
  118. --- 196,201 -----
  119.   
  120.    log(s,"open FTP");
  121.    usprintf(s,banner,Hostname,Version);
  122.    time(&t);
  123.    cp = ctime(&t);
  124.    
  125. ***************
  126. *** 211,218
  127.       if((cp1 = strchr(cp,'\n')) != NULLCHAR)
  128.    *cp1 = '\0';
  129.   #endif
  130. -  
  131. -  usprintf(s,banner1,cp);
  132.   
  133.   loop:   if((cnt = recvline(s,buf,sizeof(buf))) == -1){
  134.     /* He closed on us */
  135.  
  136. --- 203,208 -----
  137.       if((cp1 = strchr(cp,'\n')) != NULLCHAR)
  138.    *cp1 = '\0';
  139.   #endif
  140.   
  141.   loop:   if((cnt = recvline(s,buf,sizeof(buf))) == -1){
  142.     /* He closed on us */
  143. ***************
  144. *** 568,574
  145.   struct ftpserv *ftp;
  146.   char *pass;
  147.   {
  148. !  char *path;
  149.    char *p;
  150.    int anony = 0;
  151.   
  152.  
  153. --- 558,564 -----
  154.   struct ftpserv *ftp;
  155.   char *pass;
  156.   {
  157. !  char *path,buf[128],*cp;
  158.    char *p;
  159.    long t;
  160.    FILE *fp;
  161. ***************
  162. *** 570,575
  163.   {
  164.    char *path;
  165.    char *p;
  166.    int anony = 0;
  167.   
  168.    path = mallocw(200);
  169.  
  170. --- 560,567 -----
  171.   {
  172.    char *path,buf[128],*cp;
  173.    char *p;
  174. +  long t;
  175. +  FILE *fp;
  176.    int anony = 0;
  177.   
  178.    path = mallocw(200);
  179. ***************
  180. *** 590,595
  181.    if((p = strchr(path,';')) != '\0')
  182.     *p = '\0';              /* delimit initial cd */
  183.   #endif
  184.   
  185.    if(!anony){
  186.     usprintf(ftp->control,logged);
  187.  
  188. --- 582,598 -----
  189.    if((p = strchr(path,';')) != '\0')
  190.     *p = '\0';              /* delimit initial cd */
  191.   #endif
  192. +  time(&t);
  193. +  cp = ctime(&t);
  194. +  usprintf(ftp->control,banner1,cp);
  195. +     if((fp = fopen(Ftpmotd,"r")) != NULL) {
  196. +         while(fgets(buf,sizeof(buf),fp)) {
  197. +             rip(buf);
  198. +             usprintf(ftp->control,"230- %s\n",buf);
  199. +         }
  200. +         fclose(fp);
  201. +     }
  202.   
  203.    if(!anony){
  204.     usprintf(ftp->control,logged);
  205. ---End of diff cut here---
  206.  
  207.  
  208. -- 
  209. |Stephen Urich|        Internet:steve@zero.com         | "Cattle mutilations |
  210. |NIC: SU2     |        UUCP:uunet!beyonet!steve        | are up!" --Sneakers |
  211. |ARS: WB3FTP  | Packet:WB3FTP@WB3FTP.#EPA.PA.USA.NOAM  | ax25<->PBBS<->IPGATE|
  212. |Bensalem, PA |Radio:wb3ftp@wb3ftp.ampr.org[44.80.8.44]| TCP/IP-FTP-SMTP-UNIX|
  213.  
  214. ------------------------------
  215.  
  216. Date: Sat, 27 Mar 93 17:43:49 EST
  217. From: Steve Urich <beyonet!steve@gvls1.VFL.Paramax.COM>
  218. Subject: Ftpmotd in jnos v108d
  219. To: TCP-Group@ucsd.edu
  220.  
  221.  Hello, for those of you who are interested I have changed the
  222.  ftpmotd in jnos ftpserv to conform to internet standards. I
  223.  have put the motd in my version of net and also in a version
  224.  of pa0gri. It works with most of the original ka9q ftpcli 
  225.  including net and most nos except the jnos client with has
  226.  a verbose default problem that somebody changed. I sent my
  227.  changes to Johan and explained the problem. Its due to the
  228.  client remaining quiet till a remote command is ordered
  229.  giving it a V_NORMAL verbose. Then the ftpmotd gets shown
  230.  when a data port is able to be read verbose. It works normal
  231.  with net and other versions of nos clients showing the motd
  232.  at 230 AFTER the login as it should be. I mainly changed the
  233.  motd routine and added it also to my server because of the
  234.  way it was sent out at 220 breaking my ka9q net client. Since
  235.  I don't have a dos box to compile jnos I can't fix the jnos
  236.  client myself without some debugging since the initial test
  237.  with wa3dsp Doug has proven to be ok with my client by a
  238.  slight difference in the jnos client because of its verbose.
  239.  Since I can't debug and compile jnos because I don't have
  240.  a dos box I had wa3dsp compile it for me. It worked ok for
  241.  me but the jnos client was coded differently then the vanilla
  242.  client code. It looks easy enough to debug if I had a dos
  243.  machine an compiler. Here are the diffs to the change from
  244.  220 to 230 for the motd.
  245.  
  246.  73 - Steve
  247.  
  248. ----Start `diff -c' ftpserv.c v1.08d----
  249. *** ftpserv.old Wed Mar 24 18:20:45 1993
  250. --- ftpserv.new Fri Mar 26 01:26:59 1993
  251. ***************
  252. *** 55,62
  253.   };
  254.   
  255.   /* Response messages */
  256. ! static char banner[] = "220- %s, KA9Q-NOS FTP version %s\n";
  257. ! static char banner1[] = "220  Ready on %s";
  258.   static char badcmd[] = "500 Unknown command\n";
  259.   static char binwarn[] = "100 Warning: type is ASCII and %s appears to be binary\n";
  260.   static char unsupp[] = "500 Unsupported command or option\n";
  261.  
  262. --- 55,62 -----
  263.   };
  264.   
  265.   /* Response messages */
  266. ! static char banner[] = "220 %s, KA9Q-NOS FTP version %s\n";
  267. ! static char banner1[] = "230  Ready on %s";
  268.   static char badcmd[] = "500 Unknown command\n";
  269.   static char binwarn[] = "100 Warning: type is ASCII and %s appears to be binary\n";
  270.   static char unsupp[] = "500 Unsupported command or option\n";
  271. ***************
  272. *** 173,179
  273.    long t;
  274.    int cnt,i;
  275.    struct sockaddr_in socket;
  276. -     FILE *fp;
  277.   
  278.    sockmode(s,SOCK_ASCII);
  279.    memset((char *)&ftp,0,sizeof(ftp));     /* Start with clear slate */
  280.  
  281. --- 173,178 -----
  282.    long t;
  283.    int cnt,i;
  284.    struct sockaddr_in socket;
  285.   
  286.    sockmode(s,SOCK_ASCII);
  287.    memset((char *)&ftp,0,sizeof(ftp));     /* Start with clear slate */
  288. ***************
  289. *** 197,209
  290.   
  291.    log(s,"open FTP");
  292.    usprintf(s,banner,Hostname,Version);
  293. -     if((fp = fopen(Ftpmotd,"r")) != NULL) {
  294. -         while(fgets(buf,128,fp)) {
  295. -             rip(buf);
  296. -             usprintf(s,"220- %s\n",buf);
  297. -         }
  298. -         fclose(fp);
  299. -     }
  300.    time(&t);
  301.    cp = ctime(&t);
  302.    
  303.  
  304. --- 196,201 -----
  305.   
  306.    log(s,"open FTP");
  307.    usprintf(s,banner,Hostname,Version);
  308.    time(&t);
  309.    cp = ctime(&t);
  310.    
  311. ***************
  312. *** 211,218
  313.       if((cp1 = strchr(cp,'\n')) != NULLCHAR)
  314.    *cp1 = '\0';
  315.   #endif
  316. -  
  317. -  usprintf(s,banner1,cp);
  318.   
  319.   loop:   if((cnt = recvline(s,buf,sizeof(buf))) == -1){
  320.     /* He closed on us */
  321.  
  322. --- 203,208 -----
  323.       if((cp1 = strchr(cp,'\n')) != NULLCHAR)
  324.    *cp1 = '\0';
  325.   #endif
  326.   
  327.   loop:   if((cnt = recvline(s,buf,sizeof(buf))) == -1){
  328.     /* He closed on us */
  329. ***************
  330. *** 568,574
  331.   struct ftpserv *ftp;
  332.   char *pass;
  333.   {
  334. !  char *path;
  335.    char *p;
  336.    int anony = 0;
  337.   
  338.  
  339. --- 558,564 -----
  340.   struct ftpserv *ftp;
  341.   char *pass;
  342.   {
  343. !  char *path,buf[128],*cp;
  344.    char *p;
  345.    long t;
  346.    FILE *fp;
  347. ***************
  348. *** 570,575
  349.   {
  350.    char *path;
  351.    char *p;
  352.    int anony = 0;
  353.   
  354.    path = mallocw(200);
  355.  
  356. --- 560,567 -----
  357.   {
  358.    char *path,buf[128],*cp;
  359.    char *p;
  360. +  long t;
  361. +  FILE *fp;
  362.    int anony = 0;
  363.   
  364.    path = mallocw(200);
  365. ***************
  366. *** 590,595
  367.    if((p = strchr(path,';')) != '\0')
  368.     *p = '\0';              /* delimit initial cd */
  369.   #endif
  370.   
  371.    if(!anony){
  372.     usprintf(ftp->control,logged);
  373.  
  374. --- 582,598 -----
  375.    if((p = strchr(path,';')) != '\0')
  376.     *p = '\0';              /* delimit initial cd */
  377.   #endif
  378. +  time(&t);
  379. +  cp = ctime(&t);
  380. +  usprintf(ftp->control,banner1,cp);
  381. +     if((fp = fopen(Ftpmotd,"r")) != NULL) {
  382. +         while(fgets(buf,sizeof(buf),fp)) {
  383. +             rip(buf);
  384. +             usprintf(ftp->control,"230- %s\n",buf);
  385. +         }
  386. +         fclose(fp);
  387. +     }
  388.   
  389.    if(!anony){
  390.     usprintf(ftp->control,logged);
  391. ---End of diff cut here---
  392.  
  393.  
  394. -- 
  395. |Stephen Urich|        Internet:steve@zero.com         | "Cattle mutilations |
  396. |NIC: SU2     |        UUCP:uunet!beyonet!steve        | are up!" --Sneakers |
  397. |ARS: WB3FTP  | Packet:WB3FTP@WB3FTP.#EPA.PA.USA.NOAM  | ax25<->PBBS<->IPGATE|
  398. |Bensalem, PA |Radio:wb3ftp@wb3ftp.ampr.org[44.80.8.44]| TCP/IP-FTP-SMTP-UNIX|
  399.  
  400. ------------------------------
  401.  
  402. Date: Sun, 28 Mar 93 09:00:50 GMT
  403. From: g4klx@g4klx.demon.co.uk (Jonathan Naylor)
  404. Subject: G8BPQ with IP Router
  405. To: TCP-Group@ucsd.edu
  406.  
  407. Hi All
  408.  
  409. I put BPQ406E.ZIP into the wrong incoming directory. It is now in
  410. /hamradio/packet/tcpip/incoming.
  411.  
  412. Sorry
  413.  
  414. Jonathan
  415.  
  416. ------------------------------
  417.  
  418. Date: Sat, 27 Mar 1993 11:41:17 -0600 (CST)
  419. From: gerry@cs.tamu.edu (Gerald J Creager)
  420. Subject: KA9Q NOS questions...
  421. To: tcp-group@ucsd.edu
  422.  
  423.  I recently shipped this to the group, but I've seen neither the question, nor
  424.  any responses, so I guess it went to a bit bucket in the sky... Let's try
  425.  again.
  426.  
  427. I recently downloaded Phil's latest from ucsd.edu.  I tried to bring it up
  428. initially with an autoexec.nos configured for jnos 107b.  With the exception of
  429. the attach asy statement, I have changed nothing, but I'm seeing some
  430. interesting anomolies and NEED some help.
  431.  
  432. 1.  Hardware config:
  433. '386DX/'387, 4 Mb memory, 130 Mb hard disk, 3 Mb free on NOS logical drive, 6
  434. Mb free on a separate logical drive for /temp.
  435.  
  436. 2.  Software Config:
  437. QEMM/386, ansi.sys, the world loaded high, 633k available.
  438.  
  439. 3.  TNC config:
  440. PacComm Tiny-2 with "node" (higher speed) parts, port speed 9600 baud, radio
  441. speed 1200 baud, ROM rev. 1.1.6b (PacComm)
  442.  
  443. 4.  Recent history:
  444. Works "fine" with jnos, older karncode (tm) and g1emmCode (tm).  Worked fine at
  445. higher radio rates with DataEngine testing last year.
  446.  
  447. 5.  Symptoms:
  448.  
  449. A.  When I issue *ANY* sort of transmission, with trace turned on, I see an
  450. ax.25 "bad header" message in trace.
  451.  
  452. B.  Occassionally, say, <10% of the time, I see what looks to the code
  453. (appparently) like a good ax.25 packet but is gibberish.
  454.  
  455. C.  Other systems see the packets I'm pumping out, and they look normal to
  456. them.  A connect request using either native ax.25 or tcp/ip results in the
  457. other system thinking it can really talk to me, but I cannot make sense of the
  458. replys.
  459.  
  460. I have used both the ax25ui and ax25i constructs in the attaach asy command
  461. line, with similar results.  Since I haven't pulled down the source yet, I have
  462. no "documentation" to work with...  I need more disk space, and I'm working oin
  463. that issue.
  464.  
  465. Anyone got thoughts?  I was wondering if KISS wasn't compiled into the code,
  466. possibly...  If that's the case, I guess I need to learn something about RCS
  467. and grab a copy of Borland C++ 3.x...
  468.  
  469. Thanks,
  470. Gerry  n5jxs
  471. gerry@cs.tamu.edu
  472.  
  473. ------------------------------
  474.  
  475. Date: Sat, 27 Mar 93 17:01:07 EST
  476. From: Mike Gallaher <mg@bds.bds.com>
  477. Subject: KA9Q NOS questions...
  478. To: gerry@cs.tamu.edu (Gerald J Creager)
  479.  
  480. Try using "kissui" or "kissi" instead of "ax25ui"/"ax25i".
  481. If you use ax25 encapsulation, it just sends raw ax25 packets to the
  482. serial port, assuming that whatever hears them will transmit them
  483. literally (like an 8530 card).  If you use kiss encapsulation, it
  484. prepends a kiss "data follows" byte to the ax25 packet; this is
  485. what the TNC expects, to distinguish data from parameter-setting commands,
  486. for instance.  At least, that's what I've been able to glean from
  487. looking at the source, and playing with it for a few minutes.
  488. I haven't seen any documentation either.
  489.  
  490. mg
  491.  
  492. ------------------------------
  493.  
  494. Date: Sat, 27 Mar 93 15:05:15 EST
  495. From: Postmaster@alis3.daytonoh.ncr.com
  496. Subject: TCP-Group Digest V93 #79
  497. To: tcp-group@ucsd.edu
  498.  
  499. Returned Mail: Could not find any To: or Cc: recipients.
  500.  
  501. *** Returned Mail Message Follows: ***
  502.  
  503. ------------------------------
  504.  
  505. Date: Sat, 27 Mar 93 04:30:06 PST
  506. From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu>
  507. Subject: TCP-Group Digest V93 #79
  508. To: tcp-group-digest@ucsd.edu
  509.  
  510. TCP-Group Digest            Sat, 27 Mar 93       Volume 93 : Issue   79
  511.  
  512. Today's Topics:
  513.                              3COM Sniffer
  514.               Anyone seen this problem before ? (2 msgs)
  515.          any System V release 3 ports of NOS/NET (KA9q)/slip
  516.                        AX25 and Linux (2 msgs)
  517.                               LAPB bugs
  518.                       Latest BPQ with IP Router
  519.                   TCP-Group Digest V93 #78 (2 msgs)
  520.  
  521. Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>.
  522. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>.
  523. Problems you can't solve otherwise to brian@ucsd.edu.
  524.  
  525. Archives of past issues of the TCP-Group Digest are available
  526. (by FTP only) from UCSD.Edu in directory "mailarchives".
  527.  
  528. We trust that readers are intelligent enough to realize that all text
  529. herein consists of personal comments and does not represent the official
  530. policies or positions of any party.  Your mileage may vary.  So there.
  531. ----------------------------------------------------------------------
  532.  
  533. Date: Fri, 26 Mar 93 11:28:05 EST
  534. From: crompton@NADC.NADC.NAVY.MIL (D. Crompton)
  535. Subject: 3COM Sniffer
  536. To: tcp-group@ucsd.edu
  537.  
  538. I put the file eprobe.zip in the ucsd.edu incoming. It is a PUBLIC
  539. DOMAIN ethernet monitor program from 3COM for any of there ethernet
  540. board products. It is a nifty way to monitor ethernet traffic on a
  541. PC. It has filtering modes and detailed viewing.
  542.  
  543. I thought this might be of interest to the ampr group. If it is not
  544. appropriate to have it on here then take it off.
  545.  
  546. Doug
  547.  
  548. ------------------------------
  549.  
  550. Date: Fri, 26 Mar 93 10:10:09 CST
  551. From: andyw@aspen.cray.com (Andy Warner)
  552. Subject: Anyone seen this problem before ?
  553. To: tcp-group@ucsd.edu (TCP Group)
  554.  
  555. Has anyone seen NOS behave in the following way ?
  556.  
  557. An interface is set up to work in datagram mode, but sometimes
  558. NOS decides to start talking in VC mode (to just one or two
  559. stations, not everyone on that interface). If the remote
  560. station in question has jumpstart on, there's a timewasting
  561. round of "Huh?", "Huh?", "Huh?".... until one or other gets bored
  562. and drops the ax25 connection.
  563.  
  564. Things I know as facts :-
  565.  
  566. 1. I'm running a very recent version of KA9Q (not JNOS, PA0GRI etc),
  567.    with some local mods, they might be the culprit, but I thought
  568.    I'd ask.
  569.  
  570. 2. This has been going on for a while now, so the problem existed
  571.    with earlier NOS versions I used (PA0GRI based, I believe).
  572.  
  573. 3. It is definately my station that initiates the VC mode, (I send
  574.    the SABM).
  575.  
  576. Observations that may or may not be true :-
  577.  
  578. 1. I run a name server on my ethernet, and accesses by other stations
  579.    to the nameserver seem to cause the problem to occur most readily.
  580.    From the traces I have noticed that sometimes I will get an "ICMP
  581.    code port unreachable" when I issue a DNS reply, could this be that
  582.    NOS got bored waiting for my answer, and closed the port ?
  583.  
  584. 2. I've never seen this happen to a TCP connection, only to UDP traffic.
  585.  
  586. If this sounds familiar to anyone, or if you've got any ideas, send
  587. mail & I'll summarise. I hope to dive into the code this weekend...
  588. -- 
  589. andyw. N0REN/G1XRL
  590.  
  591. andyw@aspen.cray.com Andy Warner, Cray Research, Inc. (612) 683-5835
  592.  
  593. ------------------------------
  594.  
  595. Date: Fri, 26 Mar 1993 12:31:34 -0600 (CST)
  596. From: lcz@dptspd.sat.datapoint.com (Lee Ziegenhals)
  597. Subject: Anyone seen this problem before ?
  598. To: tcp-group@ucsd.edu (tcp/ip networking group)
  599.  
  600. >
  601. >Has anyone seen NOS behave in the following way ?
  602. >
  603. >An interface is set up to work in datagram mode, but sometimes
  604. >NOS decides to start talking in VC mode (to just one or two
  605.  
  606. Andy,
  607.  
  608. One thing that would cause this is for someone to send a datagram
  609. with the "reliability" flag set (0x04) in the IP TOS field.  JNOS will
  610. send such datagrams in VC mode, regardless of the default "ax25 mode"
  611. setting.
  612.  
  613. ------------------------------
  614.  
  615. Date: Fri, 26 Mar 93 16:34:58 CST
  616. From: "Erach A. Irani" <irani@cs.umn.edu>
  617. Subject: any System V release 3 ports of NOS/NET (KA9q)/slip
  618. To: tcp-group@ucsd.edu
  619.  
  620. --- If this is a repeat, please excuse me.  I still cannot locate a
  621. working implementation, and that seems highly unlikely to me ---
  622.  
  623. Hi,
  624.  I read that you have agreed to help out by being the
  625. coordinator for the UNIX ports.  have you heard of a sys 5 release 3
  626. port of nos/net ka9q slip WHICH can allow me to login to the
  627. originating machine and do UNIX'ish work (rather than talk alone).
  628.  
  629.  A limited number of logins is all I need.
  630.  Thanks,
  631.  erach
  632.  
  633. ------------------------------
  634.  
  635. Date: Fri, 26 Mar 93 08:22:10 CST
  636. From: Brian K. Teravskis <brian@smedley.telex.mn.org>
  637. Subject: AX25 and Linux
  638. To: tcp-group@ucsd.edu
  639.  
  640. Is anyone working on getting AX25 incorporated
  641. into the Linux kernel or is KA9Q the only way
  642. to go for now??
  643.  
  644. Thanks..
  645.  
  646. Brian
  647.  
  648. ------------------------------------------------------------------------------
  649. Brian K. Teravskis          |   Internet: brian@smedley.telex.mn.org
  650. Telex Communications, Inc   |             brian@hercules.vware.mn.org
  651. Bloomington, MN  55420      |   AMPRNET:  brian@hercules.wd0efl.tcman.ampr.org
  652. ------------------------------------------------------------------------------
  653.  
  654. ------------------------------
  655.  
  656. Date: Fri, 26 Mar 1993 09:50:10 -0800 (PST)
  657. From: Bruce Perens <bruce@pixar.com>
  658. Subject: AX25 and Linux
  659. To: "Brian K. Teravskis" <brian@smedley.telex.mn.org>
  660.  
  661. Right now, you must run a KA9Q variant such as WAMPES under Linux,
  662. because the various people who have been hacking in AX.25 drivers
  663. aren't ready to release them. We're waiting for the SLIP modifications
  664. to the kernel (mostly STREAMS support) to stabilize, as we want to use
  665. some of that to support AX.25. Also, the Linux TCP/IP implementation is
  666. still being debugged - the original developer has left the effort in a
  667. huff due to too much criticism, and others are now posting about one
  668. bug-fix a day. 
  669.  
  670. I find that running KA9Q under Linux is much more comfortable than
  671. running KA9Q on DOS, simply because of the multi-tasking - I can do
  672. something else with the computer while KA9Q is running, and if KA9Q
  673. dies it doesn't crash the system.
  674.  
  675. It is going to be nice when we can abandon the monolithic structure of
  676. NOS, and break the system into separate processes. I find it much easier
  677. to modify and debug that way.
  678.      Bruce Perens KD6OTD
  679.  
  680. On Fri, 26 Mar 1993, Brian K. Teravskis wrote:
  681.  
  682. > Is anyone working on getting AX25 incorporated
  683. > into the Linux kernel or is KA9Q the only way
  684. > to go for now??
  685. > Thanks..
  686. > Brian
  687. > ------------------------------------------------------------------------------
  688. > Brian K. Teravskis          |   Internet: brian@smedley.telex.mn.org
  689. > Telex Communications, Inc   |             brian@hercules.vware.mn.org
  690. > Bloomington, MN  55420      |   AMPRNET:  brian@hercules.wd0efl.tcman.ampr.org
  691. > ------------------------------------------------------------------------------
  692.  
  693. ------------------------------
  694.  
  695. Date: Fri, 26 Mar 93 14:29:55 PST
  696. From: psm%helios.nosc.mil@nosc.mil (Scot McIntosh)
  697. Subject: LAPB bugs
  698. To: tcp-group@ucsd.edu
  699.  
  700. Following are some bugs and deficiencies that I've found in the LAPB
  701. code, which a couple of group members have requested that I post.
  702. Excuse the extra-wide format. Hope it doesn't make this unreadable
  703. for some.
  704.  
  705. ------------------------------
  706.  
  707. Date: Fri, 26 Mar 93 19:04:03 GMT
  708. From: g4klx@g4klx.demon.co.uk (Jonathan Naylor)
  709. Subject: Latest BPQ with IP Router
  710. To: TCP-Group@ucsd.edu
  711.  
  712. On incoming as ucsd.edu is the latest version of G8BPQs switch software,
  713. BPQ406E.ZIP. In it is included the first release of his IP router software
  714. that operates as an application above the switch. It has been in beta testing
  715. for quite a while in our local packet area with good results. John has added
  716. a protocol for auto routing between his switches.
  717.  
  718. Could somebody move it from incoming to the g8bpq directory please.
  719.  
  720. John G8BPQ can now be reached at g8bpq@g4klx.demon.co.uk
  721.  
  722. 73's
  723.  
  724. Jonathan
  725.  
  726. ------------------------------
  727.  
  728. Date: Fri, 26 Mar 93 11:02:08 EST
  729. From: Postmaster@alis3.daytonoh.ncr.com
  730. Subject: TCP-Group Digest V93 #78
  731. To: tcp-group@ucsd.edu
  732.  
  733. Returned Mail: Could not find any To: or Cc: recipients.
  734.  
  735. *** Returned Mail Message Follows: ***
  736.  
  737. ------------------------------
  738.  
  739. Date: Fri, 26 Mar 93 04:30:11 PST
  740. From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu>
  741. Subject: TCP-Group Digest V93 #78
  742. To: tcp-group-digest@ucsd.edu
  743.  
  744. TCP-Group Digest            Fri, 26 Mar 93       Volume 93 : Issue   78
  745.  
  746. Today's Topics:
  747.                         New nos version PA0GRI
  748.  
  749. Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>.
  750. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>.
  751. Problems you can't solve otherwise to brian@ucsd.edu.
  752.  
  753. Archives of past issues of the TCP-Group Digest are available
  754. (by FTP only) from UCSD.Edu in directory "mailarchives".
  755.  
  756. We trust that readers are intelligent enough to realize that all text
  757. herein consists of personal comments and does not represent the official
  758. policies or positions of any party.  Your mileage may vary.  So there.
  759. ----------------------------------------------------------------------
  760.  
  761. Date: Fri, 26 Mar 93 10:08:02 MET
  762. From: gvdg@tophat.cdh.cdc.com
  763. Subject: New nos version PA0GRI
  764. To: tcp-group@ucsd.edu
  765.  
  766. Hello All,
  767. Just before going i loaded my latest work on NOS onto ucsd.edu
  768. Main work lately was on tcp and ip access code. 
  769. The c command help display now correctly displays the possible commands
  770. for the various compile options of mailbox.c
  771. Now i am all set to get "lost" in the big lands and have a good time.
  772. >>For all who wrote me a message: I took all notes with me and use them
  773. as time and place comes by. Freq for simplex is 145.520 (i forgot the
  774. 30kc channel space.) Thanks all those responded , to nummerous to get back
  775. to individualy (sorry).
  776. Please have funn, i will.
  777. Regards, Gerard.
  778. -- 
  779. Internet: gvdg@cdc.com                  |     Gerard J van der Grinten
  780. UUCP:     gvdgpc!gvdg                   |     Control Data Bv.
  781. Telephone: 0(+31)-15-153123             |     Olaf Palmestraat 20
  782.                                         |     2616 LS DELFT    Netherlands
  783.  
  784. ------------------------------
  785.  
  786. End of TCP-Group Digest V93 #78
  787. ******************************
  788.  
  789. ------------------------------
  790.  
  791. Date: (null)
  792. From: (null)
  793.         Start
  794. File    Line       Function                        Description
  795.  
  796. lapb.c   168       lapb_input           The following code fragment is part of
  797. the processing for
  798.                                         the LAPB_CONNECTED state. 'control'
  799. contains
  800.                                         the complete control field from an
  801. incoming frame, which,
  802.                                         in the case of an RNR, has an N(R)
  803. field. Therefore, the 
  804.                                         control == RNR test fails when the N(R)
  805. field of the RNR
  806.                                         contains nonzero. Change 'control' to
  807. 'type' to fix this.
  808.  
  809.                                  case RR:
  810.                                  case RNR:
  811.                                   axp->flags.remotebusy = (control == RNR) ?
  812. YES : NO;
  813.                                   if(poll)
  814.                                    enq_resp(axp);
  815.                                   ackours(axp,nr);
  816.                                   break;
  817.  
  818. lapb.c  371        ackours              The ackours() function returns a -1
  819. value to cause a
  820.                                         FRMR if an acknowledgement is received
  821. for an unsent frame.
  822.                                         None of the routines calling ackours
  823. pays any attention to
  824.                                         the return value. Suggest modifying
  825. ackours to send the FRMR
  826.                                         itself:
  827.  
  828.                                         static int
  829.                                         ackours(axp,n)
  830.                                         struct ax25_cb *axp;
  831.                                         int16 n;
  832.                                         { 
  833.                                            struct mbuf *bp;
  834.                                            int acked = 0; /* Count of frames
  835. acked by this ACK */
  836.                                            int16 oldest; /* Seq number of
  837. oldest unacked I-frame */
  838.                                            int32 rtt,abserr;
  839.  
  840.                                            /* Free up acknowledged frames by
  841. purging frames from the I-frame
  842.                                             * transmit queue. Start at the
  843. remote end's last reported V(r)
  844.                                             * and keep going until we reach the
  845. new sequence number.
  846.                                             * If we try to free a null pointer,
  847.                                             * then we have a frame reject
  848. condition.
  849.                                             */
  850.                                             oldest = (axp->vs - axp->unack) &
  851. MMASK;
  852.                                             while(axp->unack != 0 && oldest !=
  853. n){
  854.                         >>                     if((bp = dequeue(&axp->txq)) ==
  855. NULLBUF){
  856.                         >>                 /* Acking unsent frame */
  857.                         >>                        sendfrmr(axp, axp->control,
  858. LAPB_RESPONSE, axp->pf, Z);
  859.                         >>                 return -1;
  860.                                              }
  861.  
  862.                                              Remainder of routine is same. The
  863. arguments to sendfrmr are
  864.                                              the offending packet's control and
  865. pf fields, an indication
  866.                                              that this is a response, and the
  867. reason for the FRMR.
  868.                                              Note: have to add 'control' and
  869.                                              'pf' fields to struct ax25_cb and
  870. fill them with the control
  871.                                              and pf fields of the offending
  872. incoming frame. Also, the X.25 
  873.                                              standard specifies that after
  874. sending an FRMR, the DCE enters into
  875.                                              a frame rejection condition and
  876. waits for a SABM, DISC, or DM
  877.                                              from the DTE (this is an
  878. abbreviated description of what the
  879.                                              standard really says). Suggest
  880. adding the LAPB_REJECT state 
  881.                                              and the processing for it in the
  882. lapb_input function, and have
  883.                                              the sendfrmr function invoke the
  884. LAPB_REJECT state. Also
  885.                                              suggest adding 
  886.  
  887.                                                   sendfrmr(axp, axp->control,
  888. LAPB_RESPONSE, axp->pf, W);
  889.  
  890.                                              for the cases where an incoming
  891. frame has a control field
  892.                                              containing an unknown type.
  893.  
  894.  
  895. lapb.c   various   lapb_input                The code decides whether the local
  896. station is busy by the
  897.                    enq_resp                  following means:
  898.  
  899.                                              if(len_p(axp->rxq) >= axp->window){
  900.                                                      /* Too bad he didn't
  901. listen to us; he'll
  902.                                                       * have to resend the
  903. frame later. This
  904.                                                       * drastic action is
  905. necessary to avoid
  906.                                                       * memory deadlock.
  907.                                                       */
  908.                                                      
  909. sendctl(axp,LAPB_RESPONSE,RNR | pf);
  910.  
  911.                                              _or_
  912.  
  913.                                              tmp = len_p(axp->rxq) >=
  914. axp->window ? RNR : RR;
  915.  
  916.                                              The len_p routine only determines
  917. the length of the 
  918.                                              packet at the front of the receive
  919. queue. If multiple
  920.                                              receive packets are queued, they
  921. aren't taken into
  922.                                              account in calculating whether the
  923. window has been
  924.                                              exceeded.
  925.  
  926. lapbtime.c 95      tx_enq                    The following code fragment is
  927. from the tx_enq routine:
  928.  
  929.                                               if(axp->txq != NULLBUF
  930.                                                && (len_p(axp->txq) <
  931. axp->pthresh || axp->proto == V1)){
  932.                                                /* Retransmit oldest unacked
  933. I-frame */
  934.                                               
  935. dup_p(&bp,axp->txq,0,len_p(axp->txq));
  936.                                                ctl = PF | I | (((axp->vs -
  937. axp->unack) & MMASK) << 1)
  938.                                                 | (axp->vr << 5);
  939.                                               
  940. sendframe(axp,LAPB_COMMAND,ctl,bp);
  941.                                               } else {
  942.                                                ctl = len_p(axp->rxq) >=
  943. axp->window ? RNR|PF : RR|PF; 
  944.                                                sendctl(axp,LAPB_COMMAND,ctl);
  945.                                               }
  946.  
  947.                                               A condition can arise wherein a
  948. transmit packet has been put on
  949.                                               axp->txq, but transmission not
  950. initiated because lapb_output()
  951.                                               found that axp->flags.remotebusy
  952. indicated that the remote station
  953.                                               is busy. In this case, if
  954. tx_enq() is called by recover() or
  955.                                               pollthem(), txq will be non-null,
  956. and the I frame could be transmitted.
  957.                                               This is incorrect behavior when
  958. the remote is busy. If by chance
  959.                                               the remote has become unbusy
  960. between the time of the lapb_output()
  961.                                               failure and the call to tx_enq(),
  962. the tx_enq() transmission of the
  963.                                               I frame doesn't increment
  964. axp->vs, and axp->unack is zero, so an
  965.                                               acknowledgement by the remote
  966. will not be processed properly by
  967.                                               ackours();
  968.  
  969. ------------------------------
  970.  
  971. End of TCP-Group Digest V93 #79
  972. ******************************
  973.  
  974. ------------------------------
  975.  
  976. End of TCP-Group Digest V93 #80
  977. ******************************
  978. ******************************
  979.